#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include "socketcomm.h"

QT_BEGIN_NAMESPACE
namespace Ui {
class MainWindow;
}
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
    SocketComm *socketComm;



private slots:
    // ========== socketComm信号接收 ==========
    void onSendTemAB(double tempA, double tempB);                             // 光纤炉温度(温度A、温度B)
    void onSendEnvThree(double temp, double humidity, double pressure);       // 温度、湿度、气压(温度、湿度、气压)
    void onSendLightChannelOn(int channelIndex);                              // 光开关(通道)
    void onSendFocusMove(bool ok);                                            // 调焦运动完成(是否)
    void onSendFocusSetok(bool ok);                                           // 调焦设定完成(是否)
    void onSendFocusWarn(bool ok);                                            // 调焦到达上限位(是否)
    void onSendFanSetok(bool ok);                                             // 风扇控制设定完成(是否)
    void onSendFanTem(int temp);                                              // 风扇控制(读取当前温度)
    void onSendLaserTemSetok(bool ok);                                        // 激光器温度控制 双层 (是否)
    void onSendLaserTem(double temp);                                         // 激光器温度控制(读取当前温度)
    void onSendStoveTemSetok(bool ok);                                        // 光纤炉温度控制（大）设置温度成功(是否)
    void onSendStoveTemSetErr(bool ok);                                       // 光纤炉温度控制（大）设置温度报错(是否)
    void onSendStoveTemRead(int channel, double temp);                        // 光纤炉温度控制（大）温度查询(通道、温度)
    void onSendStoveTemReadErr(bool ok);                                      // 光纤炉温度控制（大）温度查询报错(是否)

    // ========== 灯光控制 ==========
    void on_pushButton_lamp_laserOpen_clicked();
    void on_pushButton_lamp_laserClose_clicked();
    void on_pushButton_lamp_redOpen_clicked();
    void on_pushButton_lamp_redClose_clicked();
    void on_pushButton_lamp_greenOpen_clicked();
    void on_pushButton_lamp_greenClose_clicked();
    void on_pushButton_lamp_blueOpen_clicked();
    void on_pushButton_lamp_blueClose_clicked();
    // ========== 衰减器控制 ==========
    void on_pushButton_atten_open_clicked();
    void on_pushButton_atten_close_clicked();
    void on_pushButton_atten_setVol_clicked();
    // ========== 光开关控制 ==========
    void on_pushButton_light_open_clicked();
    // ========== 回零/位置控制 (FUS) ==========
    void on_pushButton_focus_home_clicked();
    void on_pushButton_focus_stop_clicked();
    void on_pushButton_focus_posStart_clicked();
    void on_pushButton_focus_set_clicked();
    // ========== 风扇控制 (FAN) ==========
    void on_pushButton_fan_setTem_clicked();
    void on_pushButton_fan_readTem_clicked();
    // ========== 激光器温度控制 (LAS) ==========
    void on_pushButton_raser_setTem_clicked();
    void on_pushButton_raser_searchTem_clicked();
    // ========== 光纤炉温度控制(大) (FTC) ==========
    void on_pushButton_stoveBig_setTem_clicked();
    void on_pushButton_stoveBig_searchTem_clicked();
    // ========== 光纤炉温度 ==========
    void on_pushButton_stove_search_clicked();
    // ========== 温度、湿度、气压 ==========
    void on_lcdNumber_stove_searchEnv_clicked();

};
#endif // MAINWINDOW_H
